package com.ibeeking.gmc.global.service.common.param;

import com.ibeeking.found.common.entity.TenantExtendInfo;
import com.ibeeking.nematos.utils.base.BaseValidationGroup;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @ClassName TenantParam
 * @Description
 * @Author ibeeking
 * @Date 2020-12-24 09:21
 **/
@Data
@Accessors(chain = true)
@ToString
public class TenantParam implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 租户id
     */
    @NotNull(message = "id不能为空", groups = {BaseValidationGroup.Update.class})
    private Integer id;

    /**
     * 所属集团
     */
    @NotNull(message = "所属集团不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Long parentId;
    /**
     * 行业类型:mall=电商平台；mdi=制造业
     */
    @NotNull(message = "所属行业类型不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String industry;

    /**
     * 租户代码
     */
    @NotNull(message = "租户代码不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String code;

    /**
     * 租户名称
     */
    @NotNull(message = "租户名称不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String name;

    /**
     * 租户简称
     */
    @NotNull(message = "租户简称不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String sempleName;

    /**
     * 主体公司
     */
    @NotNull(message = "主体公司不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String company;

    /**
     * 租户类型
     */
    @NotNull(message = "租户类型不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Integer tenantType;

    /**
     * 经营类目
     */
    @NotNull(message = "经营类目不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Integer businessCategory;

    /**
     * 所在省
     */
    @NotNull(message = "所在省不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Long province;

    /**
     * 所在城市
     */
    @NotNull(message = "所在城市不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Long city;

    /**
     * 所在区/县
     */
    @NotNull(message = "所在区/县不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Long county;

    /**
     * 所在街道/镇
     */
    @NotNull(message = "所在街道/镇不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private Long streetTown;

    /**
     * 经营地址
     */
    @NotNull(message = "经营地址不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String address;

    /**
     * 联系人
     */
    @NotNull(message = "联系人不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String contacts;

    /**
     * 联系人手机号，需要验证，要作为初始化登录账号
     */
    @NotNull(message = "联系电话1不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String mobile;

    /**
     * 联系电话2
     */
    private String phone;

    /**
     * 联系邮箱
     */
    @NotNull(message = "联系邮箱不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String email;

    /**
     * 账户期限开始
     */
    @NotNull(message = "账户期限开始不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String accountBegin;

    /**
     * 账户期限结束
     */
    @NotNull(message = "账户期限结束不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String accountEnd;

    /**
     * 租户介绍
     */
    @NotNull(message = "租户介绍不能为空", groups = {BaseValidationGroup.Update.class,BaseValidationGroup.Insert.class})
    private String introduce;
    /**
     * 扩展信息
     */
    private TenantExtendInfo extendInfo;
    /**
     * 租户Logo图片路径
     */
    private String logo;
    /**
     * 排序
     */
    private Integer sort;


    /**
     * 创建人
     */
    private Long createBy;


    /**
     * 更新人
     */
    private Long modifyBy;

}
